package com.jt.controller;

import com.jt.service.FileService;
import com.jt.vo.ImageVO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;

import java.io.File;
import java.io.IOException;

@RestController
public class FileController {

    @Autowired
    private FileService fileService;
    /**
     *  MultipartFile  优化了文件上传 api集合
     *  1.文件上传位置  C:\demo
     *  2.判断文件目录是否存在
     *  3.利用api实现文件上传
     */

    @RequestMapping("/file")
    public String file(MultipartFile fileImage) {
        String fileDir="C:/demo";
        File file=new File(fileDir);
        System.out.println(file.exists());
        if(!file.exists()){
            file.mkdirs();
        }
        //文件名称  文件名+文件后缀
        String fileName = fileImage.getOriginalFilename();
        //将文件的整体封装为对象
        File imageFile = new File(fileDir+"/"+fileName);
        //实现文件上传,将文件字节数组传输到指定位置
        try {
            fileImage.transferTo(imageFile);
        } catch (IOException e) {
            e.printStackTrace();
        }
        return "文件上传成功";
    }

    /**
     * 实现商品文件上传操作
     * url:   pic/upload
     * 参数:   uploadFile
     * 返回结果:   ImageVO对象
     */
    @RequestMapping("/pic/upload")
    public ImageVO upload(MultipartFile uploadFile){
        return fileService.upload(uploadFile);
    }
}
